The present invention relates to an improved method and system for storing a backup copy of data.
Current methods and systems for backing up a client company""s data are unable to adequately backup data from a client company""s xe2x80x9cweb hotelxe2x80x9d. A web hotel is a website which is outsourced to a third party vendor. For example, assume a company wants to have a web site to promote its products. If the company is not technically oriented, they typically will not have the expertise to maintain their own web site. Therefore, they often outsource the responsibility for maintenance of their web site to a third party vendor.
Unfortunately, the servers at the third party vendor which store the data for the web site are sometimes inaccessible. The third party vendor may have its servers shut down for various reasons, including, financial trouble, technical breakdowns, or problems with the authorities in countries where approval is needed to be on the Internet.
When the server at the third party vendor is inaccessible a number of problems arise. First, the client company""s customers are unable to access the client company""s website and, there-fore, the client""s customers may think that the client company is unreliable. In other words, since it is transparent to the customer that the client company""s website is hosted by a third party vendor, the customer will associate any technical problem with the website with the client company and not with the third party vendor. Second, the client company is losing potential sales to its customers because those customers are unable to place orders from the web site. In addition, the client company itself may not have any way to gain access to its own data as long as the server is inaccessible, and, therefore, may not be able to take measures to overcome the problems being experienced by the third party vendor. Since many less-technically oriented client companies choose to have their websites hosted on servers owned and operated by third party vendors, this problem is becoming increasingly important.
To overcome these deficiencies some client company""s have instructed their third party vendors to backup their website data for safekeeping. There are many xe2x80x9cbackupxe2x80x9d products available that can be used to generate extra copies of a website for safekeeping. Standard backup software makes copies directly from a server to a storage device attached to the server (e.g., a floppy disk for small backups or a magnetic tape for large backups). However, the third party vendors are only able to use these backup products to generate backup copies onto storage devices attached to the vendor""s server. Obviously, such a backup copy is inaccessible to the client company anytime the vendor""s server is also inaccessible to the client company. This type of backup system is inadequate because it fails to provide the client company with access to its data.
Another potential solution to the problem uses backup systems which make backups over a network (e.g., the product xe2x80x9cRetrospect Remotexe2x80x9d from Dantz). Performing the backup over the network allows a system administrator to set up an unattended backup of one computer from another computer on the same network. Unfortunately, client company""s are unable to use such systems to provide themselves with access to a backup copy of their website data since most client companies have security measures in place (e.g., through a firewall product) which prevent such backup systems from storing backup data onto the client""s computer system.
Embodiments of the present invention overcome the deficiencies of the prior art by providing an improved method and system for generating an escrowed backup of a client""s data.
Embodiments of the present invention provide an improved method and system for storing a backup copy of a client company""s data. In the preferred embodiment, the backup of data occurs within a computer system having a host company""s computer system and an escrow company""s computer system. Through the teachings and suggestions of the present invention, native data stored on a host computer is backed-up onto an escrow computer, even though the escrow company""s computer system includes a security mechanism, such as a firewall, to prevent unauthorized access from computers outside the escrow company""s computer system.
In a first embodiment, the host computer stores a native copy of the data in a file. The host computer then processes the file, for example, using a computer program named xe2x80x9cuuencodexe2x80x9d which is found on many Unix-based computers, so as to convert the file into a format which can be emailed. Once converted, the host computer emails the file to the escrow computer. By emailing the file, the host computer is able to get the information in the file past the escrow company""s firewall. The escrow computer receives the email, extracts the file from the email, and stores the file as a backup copy of the client company""s data.
A second embodiment of the invention extends the functionality of the first embodiment by enhancing the client company""s ability to safeguard its privacy interest in the data. In this embodiment the host computer encrypts the file, for example using a public key/private key encryption method, before emailing the file to the escrow computer. In this way, the escrow company is able to store the file for safekeeping but is not able to decrypt the file without first obtaining the xe2x80x9cprivate keyxe2x80x9d for the data from the client company.
A third embodiment of the invention provides an improved method and system for storing multiple backup copies of data. The escrow computer system preferably stores the last three backups of the data. Backups that are more than three backup periods old are treated as follows: if the backup period for the file is a power of two (e.g, 4, 8, 16, etc.), then it continues to be stored by the escrow computer system. If the backup period is not a power of two then the file is kept if there are no other files stored with a period number greater than the file in question but smaller than the next higher power of two. Thus, if the file being considered is 6 backup periods old, it will be deleted if there is a file that is 7 periods old and kept if there is no such file. This approach ensures that there are always backup files available to restore past system states, though progressively fewer files are kept for older states (that are less likely to need to be restored exactly).
This method for maintaining backup copies of data is especially useful in an environment where a client company""s web site is being maintained by an outside agency and where the outside agency uses an embodiment of the present invention for maintaining backup copies of the data. This is true because the host company may begin to forward inaccurate or corrupt backup copies of the web site to the escrow company before the host company""s computers become completely inaccessible, for example, due to the host company""s bankruptcy. Therefore, it is important to maintain multiple backup copies of data to ensure that an accurate copy of the website may eventually be restored.
The detailed descriptions which follow are presented largely in terms of methods and symbolic representations of operations on data bits within a computer. These method descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.
A method is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be bourne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Useful machines for performing the operations of the present invention include general purpose digital computers or similar devices. The general purpose computer may be selectively activated or reconfigured by a computer program stored in the computer. A special purpose computer may also be used to perform the operations of the present invention. In short, use of the methods described and suggested herein is not limited to a particular computer configuration.